package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采购单对象 ha_drug_purchase
 * 
 * @author 鲍小伟
 * @date 2025-11-25
 */
public class HaDrugPurchase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 采购单ID */
    private Long purchaseid;

    /** 采购单号 */
    @Excel(name = "采购单号")
    private String purchaseno;
    /** 采购厂家 */
    @Excel(name = "采购单位")
    private String purchaseUnit;

    /** 生产厂家ID */
    @Excel(name = "生产厂家ID")
    private Long supplierId;

    @Excel(name = "支付方式")
    private String paymentMethod;

    /** 生产批次 */
    @Excel(name = "生产批次")
    private String supplierPici;
    /** 交货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryDate;

    /** 采购合同号 */
    @Excel(name = "采购合同号")
    private String contractNo;
    /** 采购合同名称 */
    @Excel(name = "采购合同名称")
    private String contractName;

    /** 采购员 */
    @Excel(name = "采购员")
    private String purchaseUser;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purchaseDate;

    /** 要求到货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "要求到货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date arriveDate;

    /** 币种 */
    @Excel(name = "币种")
    private String currency;

    /** 合同总价 */
    @Excel(name = "合同总价")
    private BigDecimal totalAmount;

    /** 采购单状态 */
    @Excel(name = "采购单状态")
    private String status;

    public void setPurchaseid(Long purchaseid) 
    {
        this.purchaseid = purchaseid;
    }

    public Long getPurchaseid() 
    {
        return purchaseid;
    }

    public void setPurchaseno(String purchaseno)
    {
        this.purchaseno = purchaseno;
    }

    public String getPurchaseno()
    {
        return purchaseno;
    }

    public void setSupplierId(Long supplierId) 
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId() 
    {
        return supplierId;
    }

    public void setSupplierPici(String supplierPici) 
    {
        this.supplierPici = supplierPici;
    }

    public String getSupplierPici() 
    {
        return supplierPici;
    }

    public void setContractNo(String contractNo) 
    {
        this.contractNo = contractNo;
    }

    public String getContractNo() 
    {
        return contractNo;
    }

    public void setContractName(String contractName)
    {
        this.contractName = contractName;
    }

    public String getContractName()
    {
        return contractName;
    }


    public void setPaymentMethod(String paymentMethod)
    {
        this.paymentMethod = paymentMethod;
    }

    public String getPaymentMethod()
    {
        return paymentMethod;
    }

    public void setPurchaseUnit(String purchaseUnit)
    {
        this.purchaseUnit = purchaseUnit;
    }

    public String getPurchaseUnit()
    {
        return purchaseUnit;
    }

    public void setPurchaseUser(String purchaseUser)
    {
        this.purchaseUser = purchaseUser;
    }

    public String getPurchaseUser()
    {
        return purchaseUser;
    }


    public void setPurchaseDate(Date purchaseDate) 
    {
        this.purchaseDate = purchaseDate;
    }

    public Date getPurchaseDate() 
    {
        return purchaseDate;
    }

    public void setArriveDate(Date arriveDate) 
    {
        this.arriveDate = arriveDate;
    }

    public Date getArriveDate() 
    {
        return arriveDate;
    }

    public void setCurrency(String currency) 
    {
        this.currency = currency;
    }

    public String getCurrency() 
    {
        return currency;
    }

    public void setTotalAmount(BigDecimal totalAmount) 
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount() 
    {
        return totalAmount;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDeliveryDate(Date deliveryDate)
    {
        this.deliveryDate = deliveryDate;
    }

    public Date getDeliveryDate()
    {
        return deliveryDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("purchaseid", getPurchaseid())
            .append("purchaseno", getPurchaseno())
            .append("supplierId", getSupplierId())
            .append("supplierPici", getSupplierPici())
            .append("contractNo", getContractNo())
            .append("contractName", getContractName())
            .append("purchaseUser", getPurchaseUser())
            .append("paymentMethod", getPaymentMethod())
            .append("purchaseUnit", getPurchaseUnit())
            .append("purchaseDate", getPurchaseDate())
            .append("deliveryDate", getDeliveryDate())
            .append("arriveDate", getArriveDate())
            .append("currency", getCurrency())
            .append("totalAmount", getTotalAmount())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
